﻿using System;
using System.Windows.Forms;

namespace Control
{
	/// <summary>
	/// 
	/// </summary>	
	
	public class Global
	{
		private Global()
		{
			// 
			// TODO: Add constructor logic here
			//
		}

		public static byte gFirstBoard;
        public static byte gSecondBoard;
		public static byte SERVO_HIGH_ACTIVE = 0x4;
		public static byte SERVO_LOW_ACTIVE = 0x0B;

		public static void ShowError(long errCode)
		{
			System.String msg = "";
			//uint uID;
			switch (errCode)
			{
				case 0x1:
					//uID = IDS_ERR_CODE_1H;
					msg = "Lỗi sai card";
					break;
				case 0x2:
					//uID = IDS_ERR_CODE_2H;
					msg = "Lỗi hệ thống! Lỗi khi mở driver thiết bị";
					break;
				case 0x3:
					//uID = IDS_ERR_CODE_3H;
                    msg = "Lỗi hệ thống! Lỗi khi gọi hàm driver thiết bị";
					break;
				case 0x4:
					//uID = IDS_ERR_CODE_4H;
					msg = "Open Registry file error";
					break;
				case 0x5:
					//uID = IDS_ERR_CODE_5H;
					msg = "Read Registry file error";
					break;
				case 0x6:
					//uID = IDS_ERR_CODE_6H;
					msg = "Lỗi điều khiển hệ trục";
					break;
				case 0x7:
					//uID = IDS_ERR_CODE_7H;
					msg = "RG value is under valid range";
					break;
				case 0x8:
					//uID = IDS_ERR_CODE_8H;
					msg = "RG value is over valid range";
					break;
				case 0x9:
					//uID = IDS_ERR_CODE_9H;
					msg = "SV value is under valid range";
					break;
				case 0xa:
					//uID = IDS_ERR_CODE_AH;
					msg = "SV value is over valid range";
					break;
				case 0xb:
					//uID = IDS_ERR_CODE_BH;
					msg = "MDV value is over valid range";
					break;
				case 0xc:
					//uID = IDS_ERR_CODE_CH;
                    msg = "giá trị DV vượt dưới tầm điều khiển";
					break;
				case 0xd:
					//uID = IDS_ERR_CODE_DH;
                    msg = "Giá trị DV vượt ngoài tầm điều khiển";
					break;
				case 0xe:
					//uID = IDS_ERR_CODE_EH;
                    msg = "giá trị AC vượt dưới tầm điều khiển";
					break;
				case 0xf:
					//uID = IDS_ERR_CODE_FH;
                    msg = "giá trị AC vượt ngoài tầm điều khiển";
					break;
				case 0x10:
					//uID = IDS_ERR_CODE_10H;
                    msg = "giá trị AK vượt dưới tầm điều khiển";
					break;
				case 0x11:
					//uID = IDS_ERR_CODE_11H;
                    msg = "giá trị AK vượt ngoài tầm điều khiển";
					break;
				case 0x12:
					//uID = IDS_ERR_CODE_12H;
					msg = "PLmt value is over valid range";
					break;
				case 0x13:
					//uID = IDS_ERR_CODE_13H;
					msg = "NLmt value is over valid range";
					break;
				case 0x14:
					//uID = IDS_ERR_CODE_14H;
					msg = "Moving distance is over single maximum distance";
					break;
				case 0x15:
					//uID = IDS_ERR_CODE_15H;
					msg = "One of the assigned axis is in busy state";
					break;
				case 0x16:
					//uID = IDS_ERR_CODE_16H;
					msg = "The assigned Register have no defined";
					break;
				case 0x17:
					//uID = IDS_ERR_CODE_17H;
					msg = "One of the assigned parameter value is invalid";
					break;
				case 0x18:
					//uID = IDS_ERR_CODE_18H;
					msg = "One of the assigned parameter value is over valid value";
					break;
				case 0x19:
					//uID = IDS_ERR_CODE_19H;
					msg = "One of the assigned parameter value is under valid value";
					break;
				case 0x1a:
					//uID = IDS_ERR_CODE_1AH;
					msg = "One of the assigned axis is in Home process";
					break;
				case 0x1b:
					//uID = IDS_ERR_CODE_1BH;
					msg = "One of the assigned axis is in External driving mode";
					break;
				case 0x1c:
					//uID = IDS_ERR_CODE_1CH;
					msg = "Write Registry file error";
					break;
				case 0x1d:
					//uID = IDS_ERR_CODE_1DH;
                    msg = "1 trong các thông số gán có giá trị vượt ngoài tầm điều khiển";
					break;
				case 0x1e:
					//uID = IDS_ERR_CODE_1EH;
                    msg = "1 trong các thông số gán có giá trị vượt dưới tầm điều khiển";
					break;
				case 0x1f:
					//uID = IDS_ERR_CODE_1FH;
                    msg = "giá trị DC vượt ngoài tầm điều khiển";
					break;
				case 0x20:
					//uID = IDS_ERR_CODE_20H;
                    msg = "giá trị DC vượt dưới tầm điều khiển";
					break;
				case 0x21:
					//uID = IDS_ERR_CODE_21H; 
					msg = "MDV value is under valid range";
					break;
				case 0x22:
					//uID = IDS_ERR_CODE_22H;
					msg = "Create Registry file fail";
					break;
				case 0x23:
					//uID = IDS_ERR_CODE_23H;
				msg = "Create internal Thread error";
					break;
				case 0x24:
					//uID = IDS_ERR_CODE_24H;
					msg = "Return Home process be stopped by P3240MotStop function";
					break;
				case 0x25:
					//uID = IDS_ERR_CODE_25H;
					msg = "The speed parameter is invalid";
					break;
				case 0x26:
					//uID = IDS_ERR_CODE_26H;
					msg = "Output DO when DO type is assigned to indicator function";
					break;
   
				case 0x30:
					//uID = IDS_ERR_CODE_30H;
					msg = "System return error when create IRQ event";
					break;

				case 0x32:
					//uID = IDS_ERR_CODE_32H;
					msg = "System return error when in P3240MotDevClose process";
					break;
      
				case 0x40:
					//uID = IDS_ERR_CODE_40H;
					msg = "Return home process be stopped by hardware emergency stop input";
					break;
				case 0x41:
					//uID = IDS_ERR_CODE_41H;
					msg = "Return home process be stopped by hardware positive limited switch";
					break;
				case 0x42:
					//uID = IDS_ERR_CODE_42H;
					msg = "Return home process be stopped by hardware negative limited switch";
					break;
				case 0x43:
					//uID = IDS_ERR_CODE_43H;
					msg = "Return home process be stopped by ALARM signal input";
					break;

				case 0x50:
					//uID = IDS_ERR_CODE_50H;
					msg = "System return error when buffer allocate";
					break;
				case 0x51:
					//uID = IDS_ERR_CODE_51H;
					msg = "The assigned buffer have been allocated and try to reallocate again";
					break;
				case 0x52:
					//uID = IDS_ERR_CODE_52H;
					msg = "The handle of assigned Buffer is NULL or has been freed before";
					break;
				case 0x53:
					//uID = IDS_ERR_CODE_53H;
					msg = "The first data hasn't been set and try to set other number data";
					break;
				case 0x54:
					//uID = IDS_ERR_CODE_54H;
					msg = "Current buffer is full";
					break;
				case 0x55:
					//uID = IDS_ERR_CODE_55H;
					msg = "The assigned Buffer number hasn't created";
					break;
				case 0x56:
					//uID = IDS_ERR_CODE_56H;
					msg = "The point number is not continue number of previous setting data";
					break;
				case 0x57:
					//uID = IDS_ERR_CODE_57H;
					msg = "Path type is not IPO_L2, IPO_L3, IPO_CW or IPO_CCW";
					break;
   
				case 0x60:
					//uID = IDS_ERR_CODE_60H;
					msg = "Continue Data buffer have mixed IPO_L2 and IPO_L3 or IPO_CW/IPO_CCW and IPO_L3 path type";
					break;
				case 0x61:
					//uID = IDS_ERR_CODE_61H;
					msg = "Buffer contain only one data";
					break;
				case 0x62:
					//uID = IDS_ERR_CODE_62H;
					msg = "Thiết bị không có trong hệ thống";
					break;

				default:
					//uID = IDS_ERR_UNDEF;
					msg = "Undefined Error Message";
					break;
			}
			MessageBox.Show(msg,"Control");
		}

	}
}
